#lang scheme

(define abc
  (lambda x 
    (length x)))

;(abc 1 2 3 4 5 6)

(define qwe
  (lambda (a . b)
    (displayln a)
    (displayln b)))

;(qwe 1)
;(qwe 1 2)
;(qwe 1 2 3)

(define asd
  (lambda (a [b 777])
    (displayln a)
    (displayln b)))

;(asd 1)
;(asd 1 2)

(define zxc
  (lambda (a #:b [b 777])
    (displayln a)
    (displayln b)))

;(zxc 1)
;(zxc 1 #:b 222)

(define wer
  (lambda (a #:b b #:c c)
    (list 'a a 'b b 'c c)))

;(wer 1 #:b 2 #:c 3)
;(wer 1 #:c 3 #:b 2)
